package test1;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Test {
    /*
    1). 使用反射获取Student的Class对象。
	2). 获取 “公有、全参构造方法”；
	3). 调用 “公有、全参构造方法”传入：“柳岩”,17两个参数。
	4). 反射获取show()方法
	5). 调用show()方法
     */
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
        Class clazz = Class.forName("test1.Student");
        Constructor constructor = clazz.getConstructor(String.class, int.class);
        constructor.setAccessible(true);
        Object student = constructor.newInstance("柳岩", 17);
        System.out.println(student);

        Method method = clazz.getMethod("show");

        Object result = method.invoke(student);
        System.out.println(result);
    }
}
